草庐IT

TypeScript 函数

全部标签

javascript - 函数的定义与顺序无关吗?

我根本不是一个真正的javascript菜鸟,虽然在我的一生中我从来没有遇到过这个,但我假设javascript必须在运行任何东西之前分配函数是正确的吗?根据我的所有经验,我预计它会返回“undefined”,但显然它会返回“function”。functionbar(){returnfoo;foo=10;functionfoo(){}varfoo='11';}alert(typeofbar());有人能为我解释一下吗? 最佳答案 JavaScript的这种行为称为提升。MDN(https://developer.mozilla.o

JavaScript ecma6 将普通函数更改为箭头函数

我有那个代码:functiondefineProperty(object,name,callback){if(object.prototype){Object.defineProperty(object.prototype,name,{"get":callback});}}defineProperty(String,"isEmpty",function(){returnthis.length===0;});我使用它如下:console.log("".isEmpty,"abc".isEmpty);它返回:true,false现在,我想把函数改成这样:defineProperty(Stri

javascript - 尝试将嵌套循环转换为递归函数

我正在尝试创建以下嵌套循环的递归版本并获得与引用代码相同的结果。示例如下。这是Codepen上的一个版本http://codepen.io/anon/pen/XbQMLv(代码的目的是仅输出索引中整数的唯一组合。)原始代码和输出:varlen=4;for(vara=0;a递归代码和输出:varlen=4;varend=3;vardata=[];varloop=function(index){if(index===end){console.log(data);return;}for(vari=index;i不确定我在这里遗漏了什么。 最佳答案

javascript - 嵌套 forEach : Uncaught TypeError: data. forEach 不是函数

我不想使用任何for循环或任何常规循环,我正在尝试使用forEach但出现错误UncaughtTypeError:data.forEachisnotafunctionreturnfalsyData.map(function(data){data.forEach(function(key){if(key.match(reg)){returnkey;}});});但如果我这样做,它会起作用:returnfalsyData.map(function(data){for(varkeyindata){if(key.match(reg)){returnkey;}}});为什么?

javascript - 在下划线和 lodash 中实现和理解 "memoize"函数

一直在尝试通过查看下划线文档并尝试编写我自己的更常用函​​数版本来了解更多有关函数式编程的知识。遇到“memoize”——我无法理解它,并在Crockford的“TheGoodParts”中找到了一些信息。_.memoize=function(func){//'cache'objectisusedtoholdtheresultofthememoizedfn'scallvarcache={};varrecur=function(n){varresult=cache[n];if(typeofresult==='undefined'){result=func.apply(this,argum

javascript - 如何在没有模块声明的情况下导入 Typescript

我有一堆自动生成的模块,我需要从我的typescript文件中引用它们。例如importtest=require('../templates/test')我正在生成带有ES5输出的CommonJS模块。所以我不能使用amd-dependency(因为它只适用于amd模块)。而且我也无法手动声明该模块,因为1.它是自动生成的,并且2.它具有相对路径。Typescript1.6目前显示错误“找不到模块”。我如何让它抑制此错误并导入? 最佳答案 Howdoimakeitsuppressthiserrorandimport如果您确定requ

javascript - typescript :如何在自定义过滤器中使用 Angular $filter

如何在自定义过滤器中使用Angular$filter?如何注入(inject)$filter依赖?moduleFilters{exportclassCustomFilter{publicstaticFactory(){returnfunction(input:){varresult=[];//Wouldliketoutilize$filter.('filter')herereturnresult;}}}angular.module('app').filter('customFilter',[CustomFilter.Factory]);} 最佳答案

javascript - 如何在 typescript 中加载 Electron 模块

我尝试从typescript中的Electron获取ipcRenderer模块,以将信息从当前组件发送到核心,并将信息返回到窗口(ElectronChrome浏览器)。通过将ts代码转码为ES5,我得到的只是一个错误“找不到模块”。constipc=require('electron').ipcRenderer;`更新:错误是在“找不到模块”和这个之间切换:./~/electron/index.js中的错误模块构建失败:错误:ENOENT,打开“/.../node_modules/electron/index.js”@./app/components/search/search.ts1

javascript - ngFor 中的 Angular2 组件抛出错误(viewFactory 不是函数)

我在Angular2应用程序(测试版1)中有一个ComponentB。在我将它放在ComponentA的ngFor循环中之前,它工作得很好。我收到了一个相当神秘的错误:EXCEPTION:TypeError:viewFactory_ComponentB0isnotafunctionin[numbersinComponentA@1:23]BrowserDomAdapter.logError@angular2.dev.js:22690BrowserDomAdapter.logGroup@angular2.dev.js:22701ExceptionHandler.call@angular2.

javascript - TypeScript Angular 2 响应订阅

我正在尝试从我的api返回信息,但我不明白如何正确使用订阅。使用数组时,我从我的服务返回一个空数组,并在获取值时将其推送到其中。我如何在app-componentts中正确地只返回一个值变量。现在如果我执行alert(JSON.stringify(authenticated))它只会给我{"_isUnsubscribed":false,"_subscriptions":[{"isUnsubscribed":false}]}应用组件tscheckAuthentication(){varauthenticated=this._authService.getAuthenication();}